package com.orgcent.activities;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.Intent.ShortcutIconResource;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
/**
 * 为程序自动创建和删除桌面快捷方式 
 *
 */
public class CreateOrDelDestopShortcut extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.create_del_shortcut);
	}

	public void onBtnClick(View v) {
		switch (v.getId()) {
		case R.id.create_shortcut_btn:
			createShortcut();
			break;
		case R.id.del_shortcut_btn:
			delShortcut();
			break;
			
		default:
			break;
		}
	}
	
	
	
	/**
	 * 删除程序的快捷方式
	 */
	private void delShortcut(){
		Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
			
		//快捷方式的名称
		shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
			
		//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
		 //注意: ComponentName的第二个参数必须是完整的类名（包名+类名），否则无法删除快捷方式
		 String appClass = this.getPackageName() + "." +this.getLocalClassName();
		 ComponentName comp = new ComponentName(this.getPackageName(), appClass);
		 shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
			
		sendBroadcast(shortcut);
			
		Log.i("", "del shortcut");
	}
	
	private void createShortcut() {
		Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");  
        
	    //快捷方式的名称  
	    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));  
	    shortcut.putExtra("duplicate", false); //不允许重复创建  
	          
	    //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer  
	    //注意: ComponentName的第二个参数必须加上点号(.)，否则快捷方式无法启动相应程序  
	    ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());  
	    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));  
	  
	    //快捷方式的图标  
	    ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);  
	    shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);  
	          
	    sendBroadcast(shortcut);  
	}
}
